On Delphi Lemmas and other Memoing Techniques for Deterministic Logic Programs
نویسندگان
چکیده
Three orthogonal memoing techniques for deterministic logic programs are introduced and evaluated on the basis of their empirical performance. They share the same basic idea: eecient memoing is achieved by losing information gracefully, i.e., memoing beneets from a form of abstraction. Abstract answers are most general computed answers of deterministic logic programs obtained through repeated applications of a simple clause composition operator. After describing a meta-interpreter returning abstract answers we derive a class of program transformations that compute abstract answers more eeciently: they are ideal lemmas due to their goal independent nature. For this reason their`hit rate' is usually higher than in the case of conventional memoing. Indexing by structural properties of terms is an eeective way to speed up retrieval of lemmas especially in the case of simple programs using linear recursion. Delphi Lemmas add a self-adjusting control mechanism on the amount of memoing. Answers are memoized only by acquiescence of an oracle. We Revised version of the paper Memoing with Abstract Answers and Delphi Lemmas presented at the LOPSTR'93 Workshop 26]. 2 show that random oracles perform surprisingly well as Delphi lemmas tend naturally to cover thèhot spots' of the program. A subset of our memoing techniques has been incorporated in BinProlog 5.00 with a declaration based preprocessor.
منابع مشابه
5. Conclusion and Future Directions
A new declarative semantics for logic languages. In R. Optimizations of bottom-up evaluation with non-ground terms. In Miller 15], pages 557{574. 19 orthogonal to the type of program to which memoing is applied. With some care, they can be used in the context of full Prolog, speciied as we have suggested by a programmer controlled directive. The practicality of the special case of ground, multi...
متن کاملOn Automated Lemma Generation for Separation Logic with Inductive Definitions
Separation Logic with inductive definitions is a well-known approach for deductive verification of programs that manipulate dynamic data structures. Deciding verification conditions in this context is usually based on user-provided lemmas relating the inductive definitions. We propose a novel approach for generating these lemmas automatically which is based on simple syntactic criteria and dete...
متن کاملTREE AUTOMATA BASED ON COMPLETE RESIDUATED LATTICE-VALUED LOGIC: REDUCTION ALGORITHM AND DECISION PROBLEMS
In this paper, at first we define the concepts of response function and accessible states of a complete residuated lattice-valued (for simplicity we write $mathcal{L}$-valued) tree automaton with a threshold $c.$ Then, related to these concepts, we prove some lemmas and theorems that are applied in considering some decision problems such as finiteness-value and emptiness-value of recognizable t...
متن کاملOptimizations of Bottom-Up Evaluation with Non-Ground Terms
Bottom-up evaluation of logic programs can be seen as an implementation of memoization. Memoization helps detect loops, avoid repeated computation when subgoals are generated repeatedly, and in conjunction with a fair search strategy, as in bottom-up evaluation, ensures that evaluation is complete. Programs that generate non-ground facts (i.e., facts containing universally quantiied variables) ...
متن کاملAutomating Program Proofs Based on Separation Logic with Inductive Definitions
This paper investigates the use of Separation Logic with inductive definitions in reasoning about programs that manipulate dynamic data structures. We propose a novel approach for exploiting the inductive definitions in automating program proofs based on inductive invariants. We focus on iterative programs, although our techniques apply to recursive programs as well, and specifications that des...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- J. Log. Program.
دوره 30 شماره
صفحات -
تاریخ انتشار 1997